<?php

class User extends CI_Controller {

//默认方法为index
	public function index() {
		// echo '这是我的默认控制器';
		// 加载表单验证相关辅助函数
		$this->load->helper(array('form'));
		$this->load->view('reg.php');
	}

// 查看全部作业信息
	public function viewAll($value = '') {
		// 首先获取符合要求的数据
		// 加载模型
		$this->load->model('user_model');
		// 通过调用模型的方法获得数据
		$data['repoinfo'] = $this->user_model->getAll();
		// p($data);
		// 将数据传递到视图进行显示
		$this->load->view('viewall.php', $data);
	}

	// 表单验证方法
	public function process($value = '') {

		// 加载表单验证类
		$this->load->library('form_validation');

		// // 设置验证规则
		// $this->form_validation->set_rules('username', '学生姓名', 'regex_match[/^[\x80-\xff]{6,}$/]',
		// 	array('regex_match' => '姓名必须是两个以上的汉字')
		// );
		// $this->form_validation->set_rules('usernumber', '学生学号', 'regex_match[/^[pP]1[4-6]\d{7}/]',
		// 	array('regex_match' => '学号必须是以p开头的9位数字')
		// );
		// $this->form_validation->set_rules('userurl', '仓库地址', 'regex_match[/^https:\/\/(gitee.com|git.coding.net)\/(.*?)\/(.*)/]|is_unique[taskinfo.stuurl]',
		// 	array(
		// 		'regex_match' => '仓库地址必须是https开头，存放在gitee.com或者git.coding.net网站的有效地址',
		// 		'is_unique'   => '仓库地址已经存在！',
		// 	)
		// );
		// 使用更加易读的方式，设置验证规则
		$config = array(
			array(
				'field'  => 'username',
				'label'  => '学生姓名',
				'rules'  => 'regex_match[/^[\x80-\xff]{6,}$/]',
				'errors' => array(
					'regex_match' => '姓名必须是两个以上的汉字',
				),
			),
			array(
				'field'  => 'usernumber',
				'label'  => '学生学号',
				'rules'  => 'regex_match[/^[pP]1[4-6]\d{7}/]',
				'errors' => array(
					'regex_match' => '学号必须是以p开头的9位数字',
				),
			),
			array(
				'field'  => 'userurl',
				'label'  => '仓库地址',
				'rules'  => 'regex_match[/^https:\/\/(gitee.com|git.coding.net)\/(.*?)\/(.*)/]|is_unique[taskinfo.stuurl]',
				'errors' => array(
					'regex_match' => '仓库地址必须是https开头，存放在gitee.com或者git.coding.net网站的有效地址',
					'is_unique'   => '仓库地址已经存在！',
				),
			),
		);

		$this->form_validation->set_rules($config);
		// 运行验证规则
		if ($this->form_validation->run() == FALSE) {
			$this->index();
		} else {
			$this->viewAll();
		}
	}
}
